Storage system and its access control method

ABSTRACT

A storage system configuring a logical storage device by dividing an area on a physical storage space formed by a group of several physical storage devices by the unit of physical block having a certain block length and by assigning the physical storage space in every physical block, comprises a logical storage control table which records identification information indicating whether a physical block is assigned to data or operation is bound to data created from a predetermined data arrangement pattern in every area on the logical storage device, and a data writing unit which, upon receipt of a request of writing data into an area of the logical storage device, when a data arrangement pattern of the writing request agrees with a previously-registered data arrangement pattern, records the identification information of the same data arrangement pattern into the logical storage control table correspondingly to the writing-requested area and abandons the writing request data.

BACKGROUNDS OF THE INVENTION

b 1. Field of the Invention

The present invention relates to a storage system configuring a logicalstorage device by dividing the area on a physical storage space formedby a group of several physical storage devices by the unit of physicalblock having a certain block length and by assigning the physicalstorage space in every physical block, and more particularly to astorage system and its access control method for improving efficiency ofassignment of physical storage devices.

2. Description of the Related Art

Heretofore, there has been such a storage system as forming a logicalstorage device by a group of several physical storage devices, like adisk array device represented by RAID (Redundant Arrays ofInexpensive/Independent Disks). Data to be stored in the logical storagedevice on this storage system will be dispersed and stored in eachstorage area on several physical storage devices.

Holding a table for bringing each logical storage area of a logicalstorage device into correspondence with each physical storage area of aphysical storage device, a storage system controls the correspondence ofthe store data arrangement. In order to maintain high availability, itmakes the store data redundant and then records the data into eachphysical storage device.

This storage system having such redundancy has such a problem thatvolume required by each physical storage device is increased accordingas store data is increased in size, also accompanied by increase incost.

One example of the conventional technique to solve the cost increase ina storage system is disclosed in Japanese Patent Laid-Open (Kokai) No.Heisei 8-221875 (Article 1). This Article 1 discloses a technique forrestraining the required physical storage capacity with storage areas ofdifferent redundancy prepared on a data storing system and by switchingthe storage areas of various redundancy selectively according toperformance and reliability a user requires.

Further, Japanese Patent Laid-Open (Kokai) No. 2003-29935 (Article 2)discloses a technique in which when RAID is formed by physical storagedevices of different physical storage capacity, an area of a physicalstorage device is effectively utilized with means of assigning a logicaladdress to an unused area on the physical storage device, caused bydifference in capacity.

Further, there is a method for separating configuration of a logicalstorage device and assignment of area on a physical storage devicecorresponding to the logical storage device and for assigning a storagearea to a physical storage device corresponding to the logical storagedevice on demand according to a data writing request. According to thismethod, an actual area on a physical storage device is not necessaryuntil a data writing request requires it, hence to save a useless areathat remains unused and to realize a storage system which makesassignment of storage area efficient.

The above-mentioned conventional techniques, however, have the followingproblems.

The conventional storage system has a problem of hindering efficientassignment of physical storage devices because there necessarily existssome physical storage device for storing write data with respect to anarea on a logical storage device.

That is because the conventional storage system, upon receipt of a datawriting request from a host computer, records the data in a storage areaon a predetermined physical storage device or records the data in astorage area assigned on demand, which requires the physical storagedevices so many depending on the data writing requests from a hostcomputer. Though some kind of program running on the host computer (filesystem, volume control program, backup recovery program, etc.) writesdata of specified data storage format (arrangement pattern of data) intoa storage system, the conventional storage system cannot cope with theprocessing depending on the data storage format (arrangement pattern ofdata) and it always assigns the area on a physical storage device withrespect to the area relative to a writing request.

Therefore, introduction of the processing depending on data storageformat (arrangement pattern of data) enables assignment of physicalstorage devices to be more efficient.

SUMMARY OF THE INVENTION

In order to solve the above conventional problem, an object of theinvention is to provide a storage system, forming a logical storagedevice by a group of several physical storage devices, and its accesscontrol method in which the assignment efficiency of physical storagedevices can be improved and the cost can be decreased.

According to the first aspect of the invention, a storage systemconfiguring a logical storage device by dividing an area on a physicalstorage space formed by a group of several physical storage devices bythe unit of physical block having a certain block length and byassigning the physical storage space in every physical block, comprising

-   -   a logical storage control table which records identification        information indicating whether the physical block is assigned to        data or operation is bound to data created from a predetermined        data arrangement pattern in every area on the logical storage        device, and a data writing unit which, upon receipt of a request        of writing data into an area of the logical storage device, when        a data arrangement pattern of the writing request agrees with a        previously-registered data arrangement pattern, records the        identification information of the same data arrangement pattern        into the logical storage control table correspondingly to the        writing-requested area and abandons the writing request data.

According to the invention, as far as the writing request data as for astorage system follows the data arrangement pattern, assignment of anarea on a physical storage device is not necessary, hence to improve theassignment efficiency of a physical storage device and decrease the costof the storage system.

In the preferred construction, the storage system comprises a blockreleasing unit which releases the assigned physical block when thephysical block has been already assigned to the area of the logicalstorage device.

In another preferred construction, when a data arrangement pattern ofthe writing request data does not agree with a previously-registereddata arrangement pattern, the data writing unit assigns the physicalblock, records the identification information of the physical block intothe logical storage control table correspondingly to thewriting-requested area, and writes the writing request data into thephysical block.

In another preferred construction, the storage system comprises a blockreleasing unit which releases the assigned physical block when thephysical block has been already assigned to the area of the logicalstorage device, wherein when a data arrangement pattern of the writingrequest data does not agree with a previously-registered dataarrangement pattern, the data writing unit assigns the physical block tothe above data, records the identification information of the physicalblock into the logical storage control table correspondingly to thewriting-requested area, and writes the writing request data into thephysical block.

In another preferred construction, the storage system comprises a dataarrangement pattern record table in which the identification informationfor uniquely identifying the data arrangement pattern and the respectivecorresponding data arrangement patterns are registered, whereinreferring to the data arrangement pattern record table, whether or notthere is a data arrangement pattern which agrees with the dataarrangement pattern of the writing request data is judged.

In another preferred construction, the storage system comprises a dataarrangement pattern analyzing unit which checks the data arrangementpattern record table and returns the identification information of adata arrangement pattern to the data writing unit when the specifieddata agrees with the data arrangement pattern on the data arrangementpattern record table.

In another preferred construction, the storage system comprises aphysical storage control table which records each set of identificationinformation for identifying the physical block, address on the physicalstorage space corresponding to the physical block, and an assignmentflag indicating whether the physical block has been already assigned asan area of the logical storage device, and a block assigning unit whichobtains an assignable physical block from the physical storage controltable, assigns the corresponding physical block to the specified area onthe logical storage device, and records the identification informationof the corresponding physical block into the logical storage controltable.

In another preferred construction, the storage system comprises a datareading unit which, upon receipt of a request of reading data from thearea of the logical storage device, with reference to the logicalstorage control table, when a physical block has been already assignedto the area on the logical storage device from which data is read out,reads the data from the physical block, and when identificationinformation of the data arrangement pattern is recorded for theabove-area, creates data from the data arrangement pattern correspondingto the identification information, and returns the created data.

In another preferred construction, the storage system comprises a dataarrangement pattern setting unit which sets each identificationinformation of data arrangement patterns and arbitrary data arrangementpatterns to the data arrangement pattern record table.

According to another aspect of the invention, an access control methodof a storage system configuring a logical storage device by dividing anarea on a physical storage space formed by a group of several physicalstorage devices by the unit of physical block having a certain blocklength and by assigning the physical storage space in every physicalblock, comprising

-   -   a step of having a logical storage control table which records        identification information indicating whether the physical block        is assigned to data or operation is bound to data created from a        predetermined data arrangement pattern in every area on the        logical storage device, and a step of, upon receipt of a request        of writing data into an area of the logical storage device, when        a data arrangement pattern of the writing request agrees with a        previously-registered data arrangement pattern, recording the        identification information of the same data arrangement pattern        into the logical storage control table correspondingly to the        writing-requested area and abandoning the writing request data.

According to another aspect of the invention, an access control programfor controlling access of a storage system configuring a logical storagedevice by dividing an area on a physical storage space formed by a groupof several physical storage devices by the unit of physical block havinga certain block length and by assigning the physical storage space inevery physical block, comprising

-   -   a function of having a logical storage control table which        records identification information indicating whether the        physical block is assigned to data or operation is bound to data        created from a predetermined data arrangement pattern in every        area on the logical storage device, and a function of, upon        receipt of a request of writing data into an area of the logical        storage device, when a data arrangement pattern of the writing        request agrees with a previously-registered data arrangement        pattern, recording the identification information of the same        data arrangement pattern into the logical storage control table        correspondingly to the writing-requested area and abandoning the        writing request data.

Other objects, features and advantages of the present invention willbecome clear from the detailed description given herebelow.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood more fully from the detaileddescription given herebelow and from the accompanying drawings of thepreferred embodiment of the invention, which, however, should not betaken to be limitative to the invention, but are for explanation andunderstanding only.

In the drawings:

FIG. 1 is a block diagram showing the structure of a storage systemaccording to a preferred embodiment of the invention;

FIG. 2 is a view showing an example of a physical storage control tablein the embodiment of FIG. 1;

FIG. 3 is a view showing an example of a record table of dataarrangement pattern in the embodiment of FIG. 1;

FIG. 4 is a view showing an example of a logical storage control tablein the embodiment of FIG. 1;

FIG. 5 is a flow chart showing the operation of a data writing unit inthe embodiment;

FIG. 6 is a flow chart showing the operation of a data arrangementpattern analyzing unit in the embodiment;

FIG. 7 is a flow chart showing the operation of a block assigning unitin the embodiment;

FIG. 8 is a flow chart showing the operation of a block releasing unitin the embodiment; and

FIG. 9 is a flow chart showing the operation of a data reading unit inthe embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENT

The preferred embodiment of the present invention will be discussedhereinafter in detail with reference to the accompanying drawings. Inthe following description, numerous specific details are set forth inorder to provide a thorough understanding of the present invention. Itwill be obvious, however, to those skilled in the art that the presentinvention may be practiced without these specific details. In otherinstance, well-known structures are not shown in detail in order tounnecessary obscure the present invention.

Hereinafter, a preferred embodiment of the invention will be describedwith reference to the drawings.

Structure of the Embodiment

FIG. 1 is a block diagram showing the structure of a storage systemaccording to a preferred embodiment of the invention.

A storage system 100 of the embodiment comprises a physical storagespace 102, a logical storage device 104, a physical storage controltable 211, a data arrangement pattern record table 212, a logicalstorage control table 213, a data writing unit 201, a data arrangementpattern analyzing unit 202, a block assigning unit 203, a blockreleasing unit 204, a data reading unit 205, and a data arrangementpattern setting unit 206.

The physical storage space 102 consists of a group of one and morephysical storage devices 101 which form a virtual physical storagespace. The area on the physical storage space 102 is divided into aplurality of physical blocks 103 of certain length.

The logical storage device 104 is a logical storage on the storagesystem 100 formed by a group of the physical blocks 103 on the physicalstorage space 102. The logical storage device is formed by assigning thephysical storage space in every physical block.

The storage system 100 is connected to a host computer 110 which issuesa data writing request or a data reading request to the logical storagedevice 104.

The physical storage control table 211 is a table for controlling theassignment state of the physical blocks 103.

The data arrangement pattern record table 212 is a table for recordingeach pair of identification information of data arrangement conditionand the corresponding data arrangement condition.

The logical storage control table 213 is a table for recording eachcorrespondence between a logical storage space forming the logicalstorage device 104 and the physical blocks 103 on the physical storagespace 102.

The data writing unit 201 has a function of writing data in the logicalstorage device 104 on the storage system 100 upon receipt of a writingrequest from the host computer 110.

The data arrangement pattern analyzing unit 202 has a function ofanalyzing a data arrangement pattern of the data written into thelogical storage device 104.

The block assigning unit 203 has a function of assigning each physicalblock 103 for storing data into the logical storage space on the logicalstorage device 104.

The block releasing unit 204 has a function of releasing the physicalblock 103 which has been already assigned to a logical storage device104.

The data reading unit 205 has a function of reading data from thelogical storage device 104, upon receipt of a reading request from thehost computer 110.

The data arrangement pattern setting unit 206 sets some data arrangementcondition in the data arrangement pattern record table 212.

FIG. 2 is a view showing an example of the physical storage controltable 211. The physical storage control table 211 records eachcorrespondence of physical block ID that is the information foridentifying a physical block 103, physical storage space addressindicating an address on the physical storage space 102 corresponding tothe physical block, and an assignment flag indicating whether thephysical block has been already assigned as the area forming a logicalstorage device 104.

FIG. 3 is a view showing an example of the data arrangement patternrecord table 212. The data arrangement pattern record table 212 recordseach correspondence of pattern ID that is the information foridentifying a data arrangement condition and data arrangement conditionindicated by the pattern ID.

Here, the data arrangement condition may include a concrete constant ora variable parameter depending on a request such as offset address. Forexample, the data arrangement condition of the pattern ID “PT1”indicates that the area on the target block is satisfied by “00h”. Thedata arrangement condition of the pattern ID “PT4” indicates that the 0to 3 bytes at the head take a value obtained by dividing the logicalstorage address on the logical storage device 104 by the block size andthat the remaining block areas are all satisfied by “00h”.

As mentioned above, the data arrangement pattern record table 212 is tokeep each data arrangement condition suitable for each arrangementpattern of data (data storing format) written according to a programrunning on the host computer 110 using the logical storage device 104.

Namely, in a program (file system, volume control program, backuprecover program, etc.) running on the host computer 110 using thestorage system 100, when it is found that a data arrangement patternfollowing a specified condition is to be stored in a logical storagedevice 104 on the storage system 100, the condition of the dataarrangement pattern is stored in the data arrangement pattern recordtable 212 of the storage system 100.

The data arrangement pattern setting unit 206 provides the dataarrangement pattern record table 212 with a function of recording eachpattern ID of identifying a unique data arrangement condition and therespective corresponding data arrangement condition. It is preferablethat a user of the logical storage device 104 previously set the dataarrangement conditions by using the data arrangement pattern settingunit 206. Alternatively, another pattern ID and data arrangementcondition may be added afterward.

FIG. 4 is a view showing an example of the logical storage control table213. The logical storage control table 213 records each correspondenceof logical storage device ID that is the information for identifying alogical storage device 104, logical block ID for identifying each blockobtained by dividing the area on one logical storage device 104 by theblock unit, logical storage address indicating an address of the area onthe logical storage device 104 corresponding to the logical block, andassignment ID for indicating whether the physical block 103 has beenassigned to the logical block or it should follow the data arrangementpattern.

In the assignment ID, one of physical block ID and pattern ID isrecorded. When some physical block ID is recorded in the assignment ID,it shows that the physical block is assigned to the area on the logicalstorage device 104 and that data is recorded in the physical storagedevice 101 corresponding to the physical block. While, when some patternID is recorded in the assignment ID, it shows that the area on thelogical storage device 104 follows the data created from the dataarrangement condition corresponding to the pattern ID.

(Description of the Operation)

The detailed operation of the embodiment constituted as mentioned abovewill be described with reference to the drawings.

FIG. 5 is a flow chart showing the operation of the data writing unit201 of the storage system 100.

The data writing unit 201 starts the operation upon receipt of a datawriting request from the host computer 110.

Receiving a data writing request, the data writing unit 201 checks thelogical storage device ID corresponding to the logical storage device104 concerned with the writing request, the logical storage address, andwhich area the data writing request is targeted for on the logicalstorage device 104 based on the data size and obtains an entry of thelogical storage control table 213 corresponding to the writing requestand the logical block ID indicated by the entry with reference to thelogical storage control table 213 (Step S11).

Then, it specifies the writing data and calls the data arrangementpattern analyzing unit 202, hence to compare the writing data with dataarrangement conditions of the data arrangement pattern record table 212and check whether there is a corresponding data arrangement condition.When there is, it obtains the pattern ID of the corresponding dataarrangement condition (Step S12).

As a result of the comparison in Step S12, when there is not any dataarrangement condition corresponding to the writing data, it is judgedthat the data arrangement condition of the writing data is notregistered yet in the storage system 100, so that some physical area forrecording the writing data is necessary (Step S13), and the operationmoves to Step S14.

While, there is a corresponding data arrangement condition, it is judgedthat the data arrangement condition of the writing data has been alreadyregistered in the storage system 100, so that a physical area forregistering the writing data is not necessary (Step S13), and theoperation moves to Step S17.

In Step S13, when there is no data arrangement condition of the writingdata and the assignment ID in the entry of the logical storage controltable 213 having been required in Step S11 means physical block ID, itis judged that a physical block 103 has been already assigned to thelogical block. While, when the assignment ID means pattern ID, it isjudged that a physical block 103 is not assigned to the logical blockyet (Step S14).

In Step S14, when it is judged that any physical block 103 is notassigned there yet, the block assigning unit 203 is called throughspecification of the logical storage device ID and the logical block ID,to assign a physical block 103 corresponding to the physical storagespace 102 for storing the writing data in the area on the logicalstorage device 104 (Step S15).

Finally, the writing requested data is written in the physical block 103(Step S16).

On the other hand, when there is a data arrangement condition of thewriting data in Step S13, when the assignment ID of the entry of thelogical storage control table 213 required in Step S11 means pattern IDand the pattern ID agrees with the pattern ID of the data arrangementcondition required in the data arrangement pattern analyzing unit 202 inStep S12, it is judged that the pattern ID corresponding to the writingdata has been already recorded in the logical storage control table 213,so that update of the logical storage control table is not necessary(Step S17).

When the assignment ID of the entry of the logical storage control table213 means physical block ID or when the assignment ID of the entry meanspattern ID but does not agree with the pattern ID of the dataarrangement condition required in Step S12, it is judged that update ofthe logical storage control table 213 is necessary (Step S17).

When it is judged that update of the logical storage control table 213is necessary in Step S17, the assignment ID of the entry on the logicalstorage control table 213 is read out and stored as the past assignmentID, and then the pattern ID corresponding to the data arrangementcondition of the writing data is recorded on the assignment ID of theentry, hence to update the logical storage control table 213 (Step S18).

When the past assignment ID stored in Step S18 means physical block ID,it is judged that a physical block 103 has been already assigned to thelogical storage area corresponding to the writing request. While, whenthe past assignment ID means pattern ID, it is judged that any physicalblock 103 is not assigned yet (Step S19).

When it is judged that a physical block 103 has been already assignedthere in Step S19, the past assignment ID being stored is specified as aphysical block ID to be released, to call the block releasing unit 204,hence to release the physical block (step S20).

After completing the processing of Step S20, or when the pattern IDcorresponding to the writing data has been already recorded in thelogical storage control table 213 in Step S17, or when any physicalblock 103 is not yet assigned to the logical storage area correspondingto the writing request in Step S19, the writing requested data isabandoned, hence to complete the processing (Step S21).

FIG. 6 is a flow chart showing the detailed operation of the dataarrangement pattern analyzing unit 202 in Step S12 of FIG. 5. The dataarrangement pattern analyzing unit 202 is activated upon a call from thedata writing unit 201 with designation of data to be checked.

The data arrangement pattern analyzing unit 202 initializes the dataarrangement pattern record table 212 in order to check the whole entriesthereof (Step S31).

It checks whether every entry of the data arrangement pattern recordtable 212 has been checked or not and when there is some entry remainingunchecked, it continues to check (Step S32).

It obtains a data arrangement condition recorded in the next entry inthe data arrangement pattern record table 212, to interpret the dataarrangement condition and create a data arrangement pattern to becompared (Step S33).

It compares the above data arrangement pattern which has been created inStep S33 with the specified data to be checked (writing data) and in thecase of no agreement, the operation is returned to Step S32, where thenext entry is checked (Step S34).

When the data arrangement pattern created in Step S33 agrees with theabove data to be checked (writing data), it returns to the data writingunit 201 of the calling party a message to the effect that there is acorresponding pattern condition, together with the pattern ID (StepS35).

While, when the whole entries have been checked in Step S32, it returnsto the data writing unit 201 of the calling party a message to theeffect that there is no pattern corresponding to the data to be checked(writing data) (S36).

FIG. 7 is a flow chart showing the detailed operation of the blockassigning unit 203 in Step S15 of FIG. 5. The block assigning unit 203is activated upon a call from the data writing unit 201 with designationof the logical storage device ID and the logical block ID.

The block assigning unit 203 refers to the physical storage controltable 211 and selects a physical block 103 which is not assigned to thelogical storage device 104 according to the state of assignment flag.The physical block 103 is to be reserved for assignment at this point,and therefore, assignment is done is recorded in this assignment flag ofthe physical storage control table 211 and the physical storage controltable 211 is updated (Step S41).

Next, it selects the specified logical storage device ID and an entrycorresponding to the logical block ID from the logical storagecontrol-table 213, records the physical block ID for identifying thephysical block 103 selected in Step S41 into the assignment IDcorresponding to the entry, and updates the logical storage controltable 213 (Step S42).

FIG. 8 is a flow chart showing the detailed operation of the blockreleasing unit 204 in Step S20 of FIG. 5. The block releasing unit 204is activated upon a call from the data writing unit 201 with designationof the physical ID.

The block releasing unit 204 selects an entry corresponding to thephysical block ID specified from the physical storage control table 211,records that the assignment of the physical block is undone in theassignment flag of the selected entry, and updates the physical storagecontrol table 211 (Step S51).

As mentioned above, upon receipt of a data writing request from the hostcomputer 110, the data writing unit 201 checks whether there is a dataarrangement condition on the data arrangement pattern record table 212,which agrees with the writing data, and when there is no such condition,it assigns a physical block 103 to the area on the logical storagedevice 104 which has received the data writing request and writes therequested data there.

While, when there is such a data arrangement condition, it records intothe logical storage control table 213 to the effect that the area on thelogical storage device 104 which has received the request follows thedata arrangement condition, and abandons the requested data withoutassignment of a physical block 103. When a physical block 103 has beenalready assigned to the area, the assigned physical block 103 isreleased.

Thus, as far as data to be written in the storage system 100 follows adata arrangement condition, assignment of a physical block, an area onthe physical storage device 101, becomes unnecessary, thereby to improveassignment efficiency of physical storage devices and to decrease thecost of a storage system.

FIG. 9 is a flow chart showing the operation of the data reading unit205 of the storage system 100.

The data reading unit 205 is activated upon receipt of a data readingrequest from the host computer 110.

Upon receipt of a data reading request, the data reading unit 205 judgeslogical storage device ID corresponding to the logical storage device104 from which data is requested to be read out, logical storageaddress, and which area the data writing request is targeted for on thelogical storage device 104 based on the data size, obtains an entry ofthe logical storage control table 213 corresponding to the data readingrequest with reference to the logical storage control table 213 and getsa logical block ID and an assignment ID indicated by the entry (StepS61).

When the assignment ID of the entry in the logical storage control table213 means physical block ID, it is judged that a physical block 103 hasbeen already assigned. While, when the assignment ID means pattern ID,it is judged that a physical block 103 is not yet assigned (Step S62).

When a physical block 103 has been already assigned, in Step S62, itreads out the requested data (Step S63) from an offset address of thephysical storage space 102 indicated by the physical block ID, withreference to the physical storage control table 211.

Finally, it returns the read out data to the host computer 110 whichaccepted the data reading request (Step S64).

On the other hand, when it is judged that a physical block 103 is notyet assigned, in Step S62, it obtains a data arrangement conditionindicated by the pattern ID recorded in the assignment ID of the entrywith reference to the data arrangement pattern record table 212 andcreates data according to the data arrangement condition (Step S65).Thereafter, in Step S64, it returns the created data to the hostcomputer 110 which accepted the data reading request.

As mentioned above, upon receipt of a data reading request from the hostcomputer 110, when a physical block 103 has been already assigned to thearea on the logical storage device 104 corresponding to the data readingrequest, with reference to the logical storage control table 213, thedata reading unit 205 reads out the data from the corresponding physicalblock 103 and returns the read out data to the host computer 110.

While, when a storage area on the logical storage device 104 concernedwith the request follows a data arrangement condition on the dataarrangement pattern record table 212, it creates data according to thedata arrangement condition and returns the created data to the hostcomputer 110.

Although the above embodiment is provided with the data arrangementpattern setting unit 206 for recording each pattern ID for uniquelyidentifying a data arrangement condition and the respectivecorresponding data arrangement conditions into the data arrangementpattern record table 212, it is not restricted to this structure but itis not always necessary to provide with the data arrangement patternsetting unit 206.

Even when the data arrangement pattern record table 212 does not have anew data arrangement condition added ex post facto but has a specifieddata arrangement condition predetermined (for example, data arrangementcondition of only two patterns in which data to be written is all “00h”or all “FFh”), it is possible to improve assignment efficiency of thephysical storage devices 101 and decrease the required cost as far aswriting data follows the data arrangement condition. However, expectedeffect of decreasing the cost is less than that of the above-mentionedembodiment.

It is needless to say that a function of the storage system of theinvention may be realized by hard ware, and it can be realized by software, according to an access control program (application) 500 runningon a computer, which executes various functions of the above-mentionedcomponents (data writing unit 201, data reading unit 205, dataarrangement pattern analyzing unit 202, block assigning unit 203, blockreleasing unit 204). This access control program 500 is stored in amagnetic disk, a semiconductor memory, and the other storing medium andloaded from such storing medium to a computer, to control the operationof the computer, thereby to realize the above-mentioned variousfunctions.

Although the invention has been described taking the preferredembodiment for instance, the invention is not restricted to the abovebut various modifications can be made within the scope and the sprit ofthe technique.

According to the storage system and the data access method of theinvention, the following effects can be achieved.

In a program (file system, volume control program, back-up recoverprogram, etc.) running on a host computer using the storage system, whenit is found that a data arrangement pattern following a specifiedcondition is to be written in a logical storage device on the storagesystem, the data arrangement pattern condition is recorded in thestorage system, hence to record only the identification information ofthe data arrangement condition there as for a data writing request to alogical storage device, without assignment of an area on the physicalstorage device. Therefore, as far as the writing data into the storagesystem follows the data arrangement condition, assignment of an area onthe physical storage device is not necessary, so that assignmentefficiency of the physical storage devices can be extremely improved andthe cost of the storage system can be decreased.

Although the invention has been illustrated and described with respectto exemplary embodiment thereof, it should be understood by thoseskilled in the art that the foregoing and various other changes,omissions and additions may be made therein and thereto, withoutdeparting from the spirit and scope of the present invention. Therefore,the present invention should not be understood as limited to thespecific embodiment set out above but to include all possibleembodiments which can be embodies within a scope encompassed andequivalents thereof with respect to the feature set out in the appendedclaims.

1. A storage system configuring a logical storage device by dividing anarea on a physical storage space formed by a group of several physicalstorage devices by the unit of physical block having a certain blocklength and by assigning the physical storage space in every physicalblock, comprising a logical storage control table which recordsidentification information indicating whether said physical block isassigned to data or operation is bound to data created from apredetermined data arrangement pattern in every area on said logicalstorage device, and a data writing unit which, upon receipt of a requestof writing data into an area of said logical storage device, when a dataarrangement pattern of the writing request agrees with apreviously-registered data arrangement pattern, records theidentification information of the same data arrangement pattern intosaid logical storage control table correspondingly to thewriting-requested area and abandons said writing request data.
 2. Thestorage system as set forth in claim 1, comprising a block releasingunit which releases the assigned physical block when said physical blockhas been already assigned to the area of said logical storage device. 3.The storage system as set forth in claim 1, in which when a dataarrangement pattern of said writing request data does not agree with apreviously-registered data arrangement pattern, said data writing unitassigns said physical block, records the identification information ofthe physical block into said logical storage control tablecorrespondingly to the writing-requested area, and writes said writingrequest data into said physical block.
 4. The storage system as setforth in claim 1, comprising a block releasing unit which releases theassigned physical block when said physical block has been alreadyassigned to the area of said logical storage device, wherein when a dataarrangement pattern of said writing request data does not agree with apreviously-registered data arrangement pattern, said data writing unitassigns said physical block to the above data, records theidentification information of the physical block into said logicalstorage control table correspondingly to the writing-requested area, andwrites said writing request data into said physical block.
 5. Thestorage system as set forth in claim 1, comprising a data arrangementpattern record table in which said identification information foruniquely identifying said data arrangement pattern and said respectivecorresponding data arrangement patterns are registered, whereinreferring to said data arrangement pattern record table, whether or notthere is a data arrangement pattern which agrees with the dataarrangement pattern of said writing request data is judged.
 6. Thestorage system as set forth in claim 5, comprising a data arrangementpattern analyzing unit which checks said data arrangement pattern recordtable and returns the identification information of a data arrangementpattern to said data writing unit when the specified data agrees withthe data arrangement pattern on the data arrangement pattern recordtable.
 7. The storage system as set forth in claim 1, comprising aphysical storage control table which records each set of identificationinformation for identifying said physical block, address on the physicalstorage space corresponding to said physical block, and an assignmentflag indicating whether said physical block has been already assigned asan area of said logical storage device, and a block assigning unit whichobtains an assignable physical block from said physical storage controltable, assigns the corresponding physical block to the specified area onthe logical storage device, and records the identification informationof the corresponding physical block into said logical storage controltable.
 8. The storage system as set forth in claim 1, comprising a datareading unit which, upon receipt of a request of reading data from thearea of said logical storage device, with reference to said logicalstorage control table, when a physical block has been already assignedto the area on said logical storage device from which data is read out,reads the data from the physical block, and when identificationinformation of said data arrangement pattern is recorded for the abovearea, creates data from the data arrangement pattern corresponding tosaid identification information, and returns the created data.
 9. Thestorage system as set forth in claim 5, comprising a data arrangementpattern setting unit which sets each identification information of dataarrangement patterns and arbitrary data arrangement patterns to saiddata arrangement pattern record table.
 10. An access control method of astorage system configuring a logical storage device by dividing an areaon a physical storage space formed by a group of several physicalstorage devices by the unit of physical block having a certain blocklength and by assigning the physical storage space in every physicalblock, comprising a step of having a logical storage control table whichrecords identification information indicating whether said physicalblock is assigned to data or operation is bound to data created from apredetermined data arrangement pattern in every area on said logicalstorage device, and a step of, upon receipt of a request of writing datainto an area of said logical storage device, when a data arrangementpattern of the writing request agrees with a previously-registered dataarrangement pattern, recording the identification information of thesame data arrangement pattern into said logical storage control tablecorrespondingly to the writing-requested area and abandoning saidwriting request data.
 11. The access control method of the storagesystem as set forth in claim 10, comprising a step of releasing theassigned physical block when said physical block has been alreadyassigned to the area of said logical storage device.
 12. The accesscontrol method of the storage system as set forth in claim 10,comprising a step of, when a data arrangement pattern of said writingrequest data does not agree with a previously-registered dataarrangement pattern, assigning said physical block, recording theidentification information of the physical block into said logicalstorage control table correspondingly to the writing-requested area, andwriting said writing request data into said physical block.
 13. Theaccess control method of the storage system as set forth in claim 10,comprising a step of releasing the assigned physical block when saidphysical block has been already assigned to the area of said logicalstorage device, and a step of, when a data arrangement pattern of saidwriting request data does not agree with a previously-registered dataarrangement pattern, assigning said physical block to the above data,recording the identification information of the physical block into saidlogical storage control table correspondingly to the writing-requestedarea, and writing said writing request data into said physical block.14. The access control method of the storage system as set forth inclaim 10, comprising a step of having a data arrangement pattern recordtable in which said identification information for uniquely identifyingsaid data arrangement pattern and said respective corresponding dataarrangement patterns are registered, and a step of judging whether ornot there is a data arrangement pattern which agrees with the dataarrangement pattern of said writing request data, with reference to saiddata arrangement pattern record table.
 15. The access control method ofthe storage system as set forth in claim 14, comprising a step ofchecking said data arrangement pattern record table and returning theidentification information of a data arrangement pattern when thespecified data agrees with the data arrangement pattern on the dataarrangement pattern record table.
 16. The access control method of thestorage system as set forth in claim 10, comprising a step of having aphysical storage control table which records each set of identificationinformation for identifying said physical block, address on the physicalstorage space corresponding to said physical block, and an assignmentflag indicating whether said physical block has been already assigned asan area of said logical storage device, and a step of obtaining anassignable physical block from said physical storage control table,assigning the corresponding physical block to the specified area on thelogical storage device, and recording the identification information ofthe corresponding physical block into said logical storage controltable.
 17. The access control method of the storage system as set forthin claim 10, comprising a step of, upon receipt of a request of readingdata from the area of said logical storage device, with reference tosaid logical storage control table, reading data from a physical blockwhen the physical block has been already assigned to the area on saidlogical storage device from which the data is read out, and whenidentification information of said data arrangement pattern is recordedfor the above area, creating data from the data arrangement patterncorresponding to said identification information, and returning thecreated data.
 18. An access control program for controlling access of astorage system configuring a logical storage device by dividing an areaon a physical storage space formed by a group of several physicalstorage devices by the unit of physical block having a certain blocklength and by assigning the physical storage space in every physicalblock, comprising a function of having a logical storage control tablewhich records identification information indicating whether saidphysical block is assigned to data or operation is bound to data createdfrom a predetermined data arrangement pattern in every area on saidlogical storage device, and a function of, upon receipt of a request ofwriting data into an area of said logical storage device, when a dataarrangement pattern of the writing request agrees with apreviously-registered data arrangement pattern, recording theidentification information of the same data arrangement pattern intosaid logical storage control table correspondingly to thewriting-requested area and abandoning said writing request data.
 19. Theaccess control program of the storage system as set forth in claim 18,comprising a function of releasing the assigned physical block when saidphysical block has been already assigned to the area of said logicalstorage device.
 20. The access control program of the storage system asset forth in claim 18, comprising a function of, when a data arrangementpattern of said writing request data does not agree with apreviously-registered data arrangement pattern, assigning a physicalblock, recording the identification information of the physical blockinto said logical storage control table correspondingly to thewriting-requested area, and writing said writing request data into saidphysical block.
 21. The access control program of the storage system asset forth in claim 18, comprising a function of releasing the assignedphysical block when said physical block has been already assigned to thearea of said logical storage device, and a function of, when a dataarrangement pattern of said writing request data does not agree with apreviously-registered data arrangement pattern, assigning said physicalblock to the above data, recording the identification information of thephysical block into said logical storage control table correspondinglyto the writing-requested area, and writing said writing request datainto said physical block.
 22. The access control program of the storagesystem as set forth in claim 18, comprising a function of having a dataarrangement pattern record table in which said identificationinformation for uniquely identifying said data arrangement pattern andsaid respective corresponding data arrangement patterns are registered,and a function of judging whether or not there is a data arrangementpattern which agrees with the data arrangement pattern of said writingrequest data, with reference to said data arrangement pattern recordtable.
 23. The access control program of the storage system as set forthin claim 22, comprising a function of checking said data arrangementpattern record table and returning the identification information of adata arrangement pattern when the specified data agrees with the dataarrangement pattern on the data arrangement pattern record table. 24.The access control program of the storage system as set forth in claim18, comprising a function of having a physical storage control tablewhich records each set of identification information for identifyingsaid physical block, address on the physical storage space correspondingto said physical block, and an assignment flag indicating whether saidphysical block has been already assigned as an area of said logicalstorage device, and a function of obtaining an assignable physical blockfrom said physical storage control table, assigning the correspondingphysical block to the specified area on the logical storage device, andrecording the identification information of the corresponding physicalblock into said logical storage control table.
 25. The access controlprogram of the storage system as set forth in claim 18, comprising afunction of, upon receipt of a request of reading data from the area ofsaid logical storage device, with reference to said logical storagecontrol table, reading data from a physical block when the physicalblock has been already assigned to the area on said logical storagedevice from which the data is read out, and when identificationinformation of said data arrangement pattern is recorded for the abovearea, creating data from the data arrangement pattern corresponding tosaid identification information, and returning the created data.